/**
 * 响应拦截
 * @param {Object} http
 */
module.exports = (vm) => {
  uni.$u.http.interceptors.response.use(
    (response) => {
      /* 对响应成功做点什么 可使用async await 做异步操作*/
      const data = response.data;
      // if (response.statusCode !== 200) {
      //   // 服务端返回的状态码不等于200，则reject()
      //   switch (data.errCode) {
      //     // 微信用户未登录 绑定手机号码
      //     case "1001":
      //       vm.$store.commit("user/setToken", "");
      //       vm.$store.commit("user/setUserInfo", {});
      //       vm.$u.toast("未登录或未绑定手机号!");
      //       break;
      //     // 后台异常
      //     case "5000":
      //       vm.$u.toast(data.message);
      //       break;
      //     default:
      //       vm.$u.toast(data.message);
      //   }
      //   return Promise.reject(data);
      // }
      // 如果后台返回的 status 为 true 则成功
      if (data.code == 0) {
        return data;
      } else {
        // 服务端返回的状态码不等于200，则reject()
        switch (data.errCode) {
          // 微信用户未登录 绑定手机号码
          // case "1001":
          //   vm.$store.commit("user/setToken", "");
          //   vm.$store.commit("user/setUserInfo", {});
          //   // 否则返回错误信息
          //   vm.$u.toast(data.message);
          //   uni.showModal({
          //       title: '提示',
          //       content: '您当前未登录，请点击登录',
          //       confirmText:'登录',
          //       confirmColor:'#ffa100',
          //       success: function (res) {
          //           if (res.confirm) {
          //               vm.$u.route({
          //                 url: 'pages/login/login',
          //               })
          //           } else if (res.cancel) {
          //               console.log('用户点击取消');
          //           }
          //       }
          //   });
          //   break;
          // // 后台异常
          // case "5000":
          //   vm.$u.toast(data.message);
          //   break;
          default:
            vm.$u.toast(data.message);
        }
        return Promise.reject(data);
      }
    },
    (response) => {
      console.log(response)
      /*  对响应错误做点什么 （statusCode !== 200）*/
      if (response.statusCode == 401) {
        vm.$u.toast("未登录!");
      } else if (response.statusCode == 500) {
        // 提示服务端返回错误信息
        vm.$u.toast(res.data.message);
      } else {
        let errorMessage = codeMessage[res.statusCode]
          ? codeMessage[res.statusCode]
          : res.statusCode;
        vm.$u.toast(`${errorMessage}`);
      }

      return Promise.reject(response);
    }
  );
};
